package com.yxinsur.imc.business.domain;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.yxinsur.imc.common.annotation.Excel;
import com.yxinsur.imc.common.core.domain.BaseImcEntity;

/**
 * 保险公司继续率计算规则配置对象 imc_supplier_persistency_config
 *
 * @author imc
 * @date 2021-09-22
 */
public class ImcSupplierPersistencyConfig extends BaseImcEntity {
    private static final long serialVersionUID = 1L;

    /**
     * $column.columnComment
     */
    private Long id;

    /**
     * 机构ids
     */
    @Excel(name = "机构ids")
    private String orgIds;

    /**
     * 供应商id
     */
    @Excel(name = "供应商id")
    private Long repoSupplierId;

    /**
     * 继续率类型R13 R25 R37 R49
     */
    @Excel(name = "继续率类型R13 R25 R37 R49")
    private String persistencyType;

    /**
     * 继续率计算周期类型（年/半年/季度/月）
     */
    @Excel(name = "继续率计算周期类型", readConverterExp = "年=/半年/季度/月")
    private String persistencyPeriodType;

    /**
     * 计算方式(滚动/自然)
     */
    @Excel(name = "计算方式(滚动/自然)")
    private String persistencyMethod;

    /**
     * 计算维度(全部/分产品)
     */
    @Excel(name = "计算维度(全部/分产品)")
    private String persistencyDimension;

    /**
     * 分母规则(退保/减额交清/新增附加险/复效/已缴费豁免/未缴费豁免)
     */
    @Excel(name = "分母规则(退保/减额交清/新增附加险/复效/已缴费豁免/未缴费豁免)")
    private String denominator;

    /**
     * 分子规则(退保/减额交清/新增附加险/复效/已缴费豁免/未缴费豁免)
     */
    @Excel(name = "分子规则(退保/减额交清/新增附加险/复效/已缴费豁免/未缴费豁免)")
    private String numerator;

    /**
     * 创建人
     */
    @Excel(name = "创建人")
    private String createId;

    /**
     * 修改人
     */
    @Excel(name = "修改人")
    private String updateId;

    /**
     * 逻辑删除
     */
    @Excel(name = "逻辑删除")
    private String isDeleted;

    /**
     * 租户id,一个租户id唯一对一个机构id（默认机构id为根节点id暨法人机构）
     */
    @Excel(name = "租户id,一个租户id唯一对一个机构id", readConverterExp = "默=认机构id为根节点id暨法人机构")
    private Long tenantId;

    public void setId(Long id) {
        this.id = id;
    }

    public Long getId() {
        return id;
    }

    public void setOrgIds(String orgIds) {
        this.orgIds = orgIds;
    }

    public String getOrgIds() {
        return orgIds;
    }

    public void setRepoSupplierId(Long repoSupplierId) {
        this.repoSupplierId = repoSupplierId;
    }

    public Long getRepoSupplierId() {
        return repoSupplierId;
    }

    public void setPersistencyType(String persistencyType) {
        this.persistencyType = persistencyType;
    }

    public String getPersistencyType() {
        return persistencyType;
    }

    public void setPersistencyPeriodType(String persistencyPeriodType) {
        this.persistencyPeriodType = persistencyPeriodType;
    }

    public String getPersistencyPeriodType() {
        return persistencyPeriodType;
    }

    public void setPersistencyMethod(String persistencyMethod) {
        this.persistencyMethod = persistencyMethod;
    }

    public String getPersistencyMethod() {
        return persistencyMethod;
    }

    public void setPersistencyDimension(String persistencyDimension) {
        this.persistencyDimension = persistencyDimension;
    }

    public String getPersistencyDimension() {
        return persistencyDimension;
    }

    public void setDenominator(String denominator) {
        this.denominator = denominator;
    }

    public String getDenominator() {
        return denominator;
    }

    public void setNumerator(String numerator) {
        this.numerator = numerator;
    }

    public String getNumerator() {
        return numerator;
    }

    public void setCreateId(String createId) {
        this.createId = createId;
    }

    public String getCreateId() {
        return createId;
    }

    public void setUpdateId(String updateId) {
        this.updateId = updateId;
    }

    public String getUpdateId() {
        return updateId;
    }

    public void setIsDeleted(String isDeleted) {
        this.isDeleted = isDeleted;
    }

    public String getIsDeleted() {
        return isDeleted;
    }

    public void setTenantId(Long tenantId) {
        this.tenantId = tenantId;
    }

    public Long getTenantId() {
        return tenantId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("orgIds", getOrgIds())
                .append("repoSupplierId", getRepoSupplierId())
                .append("persistencyType", getPersistencyType())
                .append("persistencyPeriodType", getPersistencyPeriodType())
                .append("persistencyMethod", getPersistencyMethod())
                .append("persistencyDimension", getPersistencyDimension())
                .append("denominator", getDenominator())
                .append("numerator", getNumerator())
                .append("createId", getCreateId())
                .append("createTime", getCreateTime())
                .append("updateId", getUpdateId())
                .append("isDeleted", getIsDeleted())
                .append("updateTime", getUpdateTime())
                .append("tenantId", getTenantId())
                .toString();
    }
}
